package word

import "unicode"

// 判断一个字符串是否是会文字符串
func IsPalindrome(s string) bool {
	letters := make([]rune, 0, len(s)) // 优化点：预设一个比较大的容量，避免后期频繁的内存分配
	for _, r := range s {
		if unicode.IsLetter(r) {
			letters = append(letters, unicode.ToLower(r))
		}
	}
	n := len(letters) / 2
	for i := 0; i < n; i++ {
		if letters[i] != letters[len(letters)-1-i] {
			return false
		}
	}
	return true
}

// 测试函数，在相同的目录下，编写相应的测试函数(test_word.go)
